package com.crl.module.eventParser
{
	
	
	/**
	 * 
	 * @author crl
	 * 
	 */	
	public interface IEventParserFactory
	{
		
		/**
		 *  添加事件解析器,(当事件解析器的type 已包含时,将不添加当前事件解析器);
		 * @param parser 解析器;
		 * @param useCapture 是否为捕获状态;
		 * @param priority 优先级;
		 * @param useWeakreference 是否使用弱引用;
		 * @return 
		 * 
		 */		
		function addParser(parser:IEventParser,useCapture:Boolean=false,priority:int=0,useWeakreference:Boolean=true):Boolean;
		
		
		/**
		 * 删除事件解析器 
		 * @param parser
		 * @param useCapture
		 * @return 
		 * 
		 */		
		function removeParser(parser:IEventParser,useCapture:Boolean=false):Boolean;
		
		/**
		 * 取得一个事件解析器; 
		 * @param type
		 * @return 
		 * 
		 */		
		function getParser(type:String):IEventParser;
		
		/**
		 * 清理; 
		 * 
		 */		
		function clear():void;
	}
}